package com.iwhalecloud.citybrain.flow.platform.manager.domain.repository;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.tenant.FlowTenantAddVo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.tenant.FlowTenantInfoVo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.tenant.FlowTenantQueryVo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.tenant.FlowTenantSimpleInfoVo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.tenant.FlowTenantUpdateVo;

/**
 * Service - 租户
 *
 * @author lilh
 * @date 2019-01-22 14:39
 */
public interface FlowTenantRepository {

    /**
     * 插入
     *
     * @param flowTenantAddVo 租户实体
     * @return 成功数量
     */
    int insert(FlowTenantAddVo flowTenantAddVo);

    /**
     * 列表
     *
     * @param queryVo 查询条件
     * @return 列表
     */
    PageInfo<FlowTenantInfoVo> list(FlowTenantQueryVo queryVo);

    /**
     * 更新
     *
     * @param flowTenantUpdateVo 待更新参数
     * @return id
     */
    int update(FlowTenantUpdateVo flowTenantUpdateVo);

    /**
     * 删除
     *
     * @param id 租户id
     * @return 是否成功
     */
    Boolean delete(Integer id);


    /**
     * 详情
     *
     * @param id 租户id
     * @return 租户
     */
    FlowTenantInfoVo detail(Integer id);

    /**
     * 获取租户信息
     *
     * @param tenantIds 租户id
     * @return 租户信息
     */
    List<FlowTenantSimpleInfoVo> listTenants(List<Integer> tenantIds);
}
